package com.lemobar.pay.model.wxpay.request;

import lombok.Data;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;


/**
 * 微信 退款查询 请求
 * JSAPI https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5
 * APP支付 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_5&index=7
 * 小程序支付 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_5
 * 付款码支付 https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=9_5
 */
@Data
@Root(name = "xml", strict = false)
public class WxPayRefundQueryRequest {
    /**
     * 公众账号ID
     */
    @Element(name = "appid")
    private String appid;

    /**
     * 商户号
     */
    @Element(name = "mch_id")
    private String mchId;

    /**
     * 随机字符串
     */
    @Element(name = "nonce_str")
    private String nonceStr;

    /**
     * 签名
     */
    @Element(name = "sign")
    private String sign;

    /**
     * 签名类型
     */
    @Element(name = "sign_type", required = false)
    private String signType;



    /**
     * 微信订单号
     * 微信订单号查询的优先级是： refund_id > out_refund_no > transaction_id > out_trade_no
     * (refund_id > out_refund_no > transaction_id > out_trade_no)四选一
     */
    @Element(name = "transaction_id", required = false)
    private String transactionId;

    /**
     * 商户订单号
     * (refund_id > out_refund_no > transaction_id > out_trade_no)四选一
     */
    @Element(name = "out_trade_no", required = false)
    private String outTradeNo;

    /**
     * 商户退款单号
     * (refund_id > out_refund_no > transaction_id > out_trade_no)四选一
     */
    @Element(name = "out_refund_no", required = false)
    private String outRefundNo;

    /**
     * 微信退款单号
     * (refund_id > out_refund_no > transaction_id > out_trade_no)四选一
     */
    @Element(name = "refundId", required = false)
    private String refund_id;




    /**
     * 偏移量
     */
    @Element(name = "offset", required = false)
    private Integer offset;
}
